/**
 * Copyright &copy; 2012-2016 civet All rights reserved.
 */
package cn.mcsys.myadmin.modules.air.dao;

import cn.mcsys.myadmin.common.persistence.CrudDao;
import cn.mcsys.myadmin.common.persistence.annotation.MyBatisDao;
import cn.mcsys.myadmin.modules.air.entity.AirCar;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 车辆管理DAO接口
 * @author leopold
 * @version 2018-08-13
 */
@MyBatisDao
public interface AirCarDao extends CrudDao<AirCar> {

    AirCar getAll(Integer id);

    List<AirCar> selectByPointId(Integer pointId);

    List<AirCar> selectByIds(Long[] ids);

    void update4pointId(@Param("ids") Long[] carIds,@Param("pointId") Integer pointId,@Param("pointName")String pointName);

    List<AirCar> getPointCars(Long pointId);

    AirCar selectByCarNumber(String carNumber);

    void updateCarStatus(@Param("id") Long airCarId,@Param("status") int status);

    List<AirCar> trafficList();

    List<AirCar> selectLikeByCarNumber(@Param("pointId") Integer pointId,@Param("carNumber") String carNumber);

    List<AirCar> getCarByStatusAndAirRidePointId(@Param("status") Integer status,@Param("airRidePointId") Integer airRidePointId);

    void updateIsOnLine(@Param("id") Integer id,@Param("isOnline") Integer isOnline);

    List<AirCar> getAllAirCar();
    List<AirCar> getAllCarsHavingGPS();

    AirCar getDetailByCarNumber(@Param("carNumber") String carNumber);

    List<AirCar> selectZHAllCarList();

    List<AirCar> selectAllAirCar();

    void clearCarStatus(@Param("id")Integer id);
}